package
{
        import alternativa.engine3d.core.Mesh;
        import alternativa.engine3d.materials.FillMaterial;
        import alternativa.engine3d.materials.WireMaterial;
        import alternativa.engine3d.materials.TextureMaterial;
        import alternativa.types.Texture;
        import flash.geom.Point;

        public class Entree extends Mesh
        {
                protected var hauteur:int;
                protected var largeur:int;
                protected var longueur:int;
                
                protected var hAscenseur:int;
                protected var lAscenseur:int;
                
                protected var hPorte:int;
                protected var lPorte:int;

                protected var couloir:int;
                
                /*
                Pour qu'il soit bien positionné par rapport au couloir :
                entree.x=3000;
                entree.y=-1500;
                */
                public function Entree(name:String=null)
                {
                        super(name);
                        hauteur=300;
                        largeur=500;
                        longueur=2000;
                        
                        hAscenseur=200;
                        lAscenseur=250;
                        
                        hPorte=150;
                        lPorte=200;
                        
                        var y:int=0;
                        //******Points******
                        createVertex(0,0,0,1);
                        createVertex(0,0,hauteur,2);
                        createVertex(largeur,0,0,3);
                        createVertex(largeur,0,hauteur,4);
                        
                        y+=800;
                        createVertex(largeur,y,0,5);
                        createVertex(largeur,y,hAscenseur,6);
                        createVertex(largeur,y,hauteur,7);
                        
                        y+=lAscenseur;
                        createVertex(largeur,y,0,8);
                        createVertex(largeur,y,hAscenseur,9);
                        createVertex(largeur,y,hauteur,10);
                        
                        y=1750;
                        createVertex(largeur,y,0,11);
                        createVertex(largeur,y,hPorte,12);
                        createVertex(largeur,y,hauteur,13);
                        
                        y+=lPorte;
                        createVertex(largeur,y,0,14);
                        createVertex(largeur,y,hPorte,15);
                        createVertex(largeur,y,hauteur,16);
                        
                        createVertex(largeur,longueur,0,17);
                        createVertex(largeur,longueur,hauteur,18);
                        
                        createVertex(2*(largeur/3),longueur,0,19);
                        createVertex(2*(largeur/3),longueur,150,20);
                        createVertex(2*(largeur/3),longueur,hauteur,21);
                        
                        createVertex(largeur/3,longueur,0,22);
                        createVertex(largeur/3,longueur,150,23);
                        createVertex(largeur/3,longueur,hauteur,24);3
                        
                        createVertex(0,longueur,0,25);
                        createVertex(0,longueur,hauteur,26);
                        
                        createVertex(0,longueur-500,0,27);
                        createVertex(0,longueur-500,hauteur,28);
                        
                        //***********Faces***********
                        createFace([2,4,3,1],"F1");
                        createFace([4,7,5,3],"F2");
                        createFace([7,10,9,6],"F3");
                        createFace([10,13,11,8],"F4");
                        createFace([13,16,15,12],"F5");
                        createFace([16,18,17,14],"F6");
                        createFace([18,21,19,17],"F7");
                        createFace([21,24,23,20],"F8");
                        createFace([24,26,25,22],"F9");
                        createFace([28,2,1,27],"F10");
                        
                        createFace([26,18,4,2],"Fc"); // Fr: ceiling
                        createFace([25,1,3,17],"Fg"); // Fg: ground
                        
                        
                        
                        
                        
                        
                        //*******Surfaces*******
                        createSurface(["F1","F2","F3","F4","F5","F6","F7","F8","F9","F10"],"murs");
                        createSurface(["Fc"],"plafond");
                        createSurface(["Fg"],"sol");
                        
                        
                        //******Texturage********
                        //setWireMaterials();
                        setFillMaterials();
                }
                
                protected function setWireMaterials():void {
                        cloneMaterialToAllSurfaces(new WireMaterial(1, 0xFF0000));
                }
                
                protected function setFillMaterials():void {
                        setMaterialToSurface(new FillMaterial(0xFFFFFF,1,"normal",1,0x000000),"plafond");
                        setMaterialToSurface(new FillMaterial(0xCCCCCC,1,"normal",1,0x000000),"sol");
                        setMaterialToSurface(new FillMaterial(0x00FF00,1,"normal",1,0x00FF00),"murs");
                        
                        //cloneMaterialToAllSurfaces(new FillMaterial(0xFF0000,1,"normal",1,0xFFFFFF));
                }
                
        }
}
